Fast Parallel Implementationof Lazy Languages { The EQUALS Experience 1
نویسندگان
چکیده
This paper describes equals, a fast parallel implementation of a lazy functional language on a commercially available shared-memory parallel machine, the Sequent Symmetry. In contrast to previous implementations, we detect parallelism automatically using strictness analysis. Another important diierence between equals and previous implementations is the use of reference counting for memory management, instead of garbage collection. Our implementation shows that reference counting leads to very good scalability, low memory requirements and improved locality. We compare our results with other sequential (SML/NJ) and parallel (h; Gi-machine and GAML) implementations of functional languages.
منابع مشابه
A High Performance Runtime System for Parallel Evaluation of Lazy Languages
is a system for parallel evaluation of lazy functional programs implemented on a Sequent Symmetry. The distinguishing features of over previous implementations are propagation of Normal Form demand and memory reclamation via reference counting. In an earlier paper, the validity of these ideas was established based on a preliminary implementation. Our experience, based on extensive experimentati...
متن کاملGarbage Collection, and Memory Eeciency, in Lazy Functional Languages Garbage Collection Recycling Memory
Introduction These introductions normally start with how great lazy functional languages are, how their mathematical purity makes proving the program correct easier, and how easy it is to code up diicult algorithms in a simple manner. They rarely talk about memory management. This is because this is a problem area for lazy functional languages.. The above is a paraphrase of Sin92]. 1 Although o...
متن کاملTracing Lazy Functional Languages
We argue that Ariola and Felleisen's and Maraist, Odersky and Wadler's call-by-need lambda calculus forms a suitable formal basis for tracing evaluation in lazy functional languages. 1 Tracing functional languages One major advantage of pure, and especially lazy, functional languages over more conventional imperative languages is in not having to directly and completely specify the order of exe...
متن کاملLazy functional languages - abstract interpretation and compilation
Imagine that you get such certain awesome experience and knowledge by only reading a book. How can? It seems to be greater when a book can be the best thing to discover. Books now will appear in printed and soft file collection. One of them is this book lazy functional languages abstract interpretation and compilation. It is so usual with the printed books. However, many people sometimes have n...
متن کاملAlgorithm + Strategy = Parallelism 1 Writing Parallel Programs
The process of writing large parallel programs is complicated by the need to specify both the parallel behaviour of the program and the algorithm that is to be used to compute its result. This paper introduces evaluation strategies, lazy higher-order functions that control the parallel evaluation of non-strict functional languages. Using evaluation strategies, it is possible to achieve a clean ...
متن کامل